package fi.foyt.cs.persistence.domainmodel.task;

import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import com.google.appengine.api.datastore.Key;

@Entity
@Cacheable
public abstract class Task {

  public Key getId() {
    return id;
  }
  
  public TaskType getTaskType() {
    return taskType;
  }
  
  public void setTaskType(TaskType taskType) {
    this.taskType = taskType;
  }
  
  public String getIcon() {
    return icon;
  }
  
  public void setIcon(String icon) {
    this.icon = icon;
  }
  
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Key id;
  
  @Column (nullable = false)
  private TaskType taskType;
  
  private String icon;
}
